package com.ruoyi.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.annotation.Excel;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class  LendMessageDto{
    @Excel(name = "借阅记录id")
    private Long lendId;
    /** 书id */
    @Excel(name = "书id")
    private Long bookId;
    /** 书名 */
    @Excel(name = "书名")
    private String bookName;
    /** 图片地址 */
    @Excel(name = "图片地址")
    private String url;
    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;
    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;
    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String nickName;
    /** 借阅时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "借阅时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lendDate;
    /** 应该归还时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "应该归还时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shouldBackTime;
    /** 归还时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "归还时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date backDate;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createTime;
    /** 是否显示该记录，0表示显示，1表示不显示 */
    @Excel(name = "是否显示该记录，0表示显示，1表示不显示")
    private Integer isDelete;
    /** 是否丢失（0没丢失，1丢失） */
    @Excel(name = "是否丢失", readConverterExp = "0=没丢失，1丢失")
    private Integer state;

    /** 是否归还，0表示未归还，1表示已归还 */
    @Excel(name = "是否归还，0表示未归还，1表示已归还")
    private Integer isBack;

    /** 续借次数 */
    @Excel(name = "续借次数")
    private Integer renewCount;

    /** 借阅开始时间 */
    @JsonIgnore
    private Date lendDateBegin;
    /** 借阅结束时间 */
    @JsonIgnore
    private Date lendDateLast;
    /** 应还开始时间 */
    @JsonIgnore
    private Date shouldBackTimeBegin;
    /** 应还结束时间 */
    @JsonIgnore
    private Date shouldBackTimeLast;
    /** 归还开始时间 */
    @JsonIgnore
    private Date backDateBegin;
    /** 归还结束时间 */
    @JsonIgnore
    private Date backDateLast;

    /** 请求参数 */
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private Map<String, Object> params;




    public Long getLendId() {
        return lendId;
    }

    public void setLendId(Long lendId) {
        this.lendId = lendId;
    }

    public Long getBookId() {
        return bookId;
    }

    public void setBookId(Long bookId) {
        this.bookId = bookId;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Date getLendDate() {
        return lendDate;
    }

    public void setLendDate(Date lendDate) {
        this.lendDate = lendDate;
    }

    public Date getShouldBackTime() {
        return shouldBackTime;
    }

    public void setShouldBackTime(Date shouldBackTime) {
        this.shouldBackTime = shouldBackTime;
    }

    public Date getBackDate() {
        return backDate;
    }

    public void setBackDate(Date backDate) {
        this.backDate = backDate;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getIsBack() {
        return isBack;
    }

    public void setIsBack(Integer isBack) {
        this.isBack = isBack;
    }

    public Integer getRenewCount() {
        return renewCount;
    }

    public void setRenewCount(Integer renewCount) {
        this.renewCount = renewCount;
    }

    public Date getLendDateBegin() {
        return lendDateBegin;
    }

    public void setLendDateBegin(Date lendDateBegin) {
        this.lendDateBegin = lendDateBegin;
    }

    public Date getLendDateLast() {
        return lendDateLast;
    }

    public void setLendDateLast(Date lendDateLast) {
        this.lendDateLast = lendDateLast;
    }

    public Date getShouldBackTimeBegin() {
        return shouldBackTimeBegin;
    }

    public void setShouldBackTimeBegin(Date shouldBackTimeBegin) {
        this.shouldBackTimeBegin = shouldBackTimeBegin;
    }

    public Date getShouldBackTimeLast() {
        return shouldBackTimeLast;
    }

    public void setShouldBackTimeLast(Date shouldBackTimeLast) {
        this.shouldBackTimeLast = shouldBackTimeLast;
    }

    public Date getBackDateBegin() {
        return backDateBegin;
    }

    public void setBackDateBegin(Date backDateBegin) {
        this.backDateBegin = backDateBegin;
    }

    public Date getBackDateLast() {
        return backDateLast;
    }

    public void setBackDateLast(Date backDateLast) {
        this.backDateLast = backDateLast;
    }

    public Map<String, Object> getParams()
    {
        if (params == null)
        {
            params = new HashMap<>();
        }
        return params;
    }

    public void setParams(Map<String, Object> params)
    {
        this.params = params;
    }

    @Override
    public String toString() {
        return "LendMessageDto{" +
                "lendId=" + lendId +
                ", bookId=" + bookId +
                ", bookName='" + bookName + '\'' +
                ", url='" + url + '\'' +
                ", userId='" + userId + '\'' +
                ", userName='" + userName + '\'' +
                ", nickName='" + nickName + '\'' +
                ", lendDate=" + lendDate +
                ", shouldBackTime=" + shouldBackTime +
                ", backDate=" + backDate +
                ", createTime=" + createTime +
                ", isDelete=" + isDelete +
                ", state=" + state +
                ", isBack=" + isBack +
                ", renewCount=" + renewCount +
                '}';
    }
}

